package cn.bugstack.springframework.context.event;

import cn.bugstack.springframework.context.ApplicationContext;
import cn.bugstack.springframework.context.ApplicationEvent;

/**
 *
 *
 *
 * 作者：DerekYRC https://github.com/DerekYRC/mini-spring
 * @description Base class for events raised for an <code>ApplicationContext</code>.
 * @date 2022/3/13
 *  /CodeDesignTutorials
 *
 */
/**
 * 一个表示应用程序上下文事件的类，继承自ApplicationEvent。
 * 这个类主要用于在应用程序上下文发生特定事件时进行通知。
 */
public class ApplicationContextEvent extends ApplicationEvent {

    /**
     * 构造一个原型事件。
     *
     * @param source 事件最初发生在此对象上。
     * @throws IllegalArgumentException 如果source为null。
     */
    public ApplicationContextEvent(Object source) {
        super(source);
    }

    /**
     * 获取为此事件引发的应用程序上下文。
     *
     * @return 返回引发此事件的ApplicationContext。
     */
    public final ApplicationContext getApplicationContext() {
        return (ApplicationContext) getSource();
    }

}

